/*
 * 楼盘基本信息
 * @author 紫霞
 * @time 2018/9/29
 * @since 1.0.0
 * */
// React基础组件
import React from 'react'
// dva 连接组件 - 连接route和model
import { connect } from 'dva'
// 引入antd的组件
import { Form } from 'antd'
//导入路由组件，用于跳转等
import { Link, hashHistory } from 'dva/router'
// 导入项目全局配置文件
import config from 'config/config'

// 引入model取值工具方法
import { mapStateToProps } from 'utils/view_utils'
// 当前组件样式
import styles from './integralListStyle.less'
//引用listPage
import ListPage from 'widget/PageTmpl/ListPage'
import cx from 'classnames'
/**
 * description 路由视图及事件处理
 * dispatch 分发到models中的effects对应事件名
 * model 用于获取models中state定义的数据
 * form 表单对象
 */
const RouteView = function({dispatch, model, form}) {
  // 表单的子函数
  const {resetFields, getFieldDecorator, validateFields, setFieldsValue} = form
  // 取出model对象，命名空间
  const { modelObj, namespace } = model

  // modelObj.xxx获取model中状态机的值

  console.log(namespace)
  
  // 分页表格属性配置
  let pageProps = {
    // ---------- 界面部分 ----------
    "ui": {
      // 页面接口地址
      "api_url": "customer/vip/list",
      // 接口方式
      "method": "GET",
      "app": "",
      // 接口参数
      "params": "pageNo=1&pageSize=10",
      // 模拟数据 - 用于开发需要，若填充了上面的api_url之后，请将此项设置为null
      // "mockData": mockData,
      "mockData": null,
      // 查询栏
      "search_bar": {
        "fields": [
          {
            en_name: '0',
            zh_name: '客户姓名',
            elem_type: 'Input',
            elem_valid_type: 'string',
          },
          {
            en_name: '2',
            zh_name: '手机',
            elem_type: 'Input',
            elem_valid_type: 'string',
          },
          {
            en_name: '3',
            zh_name: '兑换礼品',
            elem_type: 'Input',
            elem_valid_type: 'string',
          },
          {
            en_name: '4',
            zh_name: '兑换日期',
            elem_type: 'Date',
            split_keys: ['registerTimeBegin', 'registerTimeEnd'], // 日期范围组件，分割成两个值提交
            format: 'YYYY-MM-DD',
            elem_valid_type: 'string'
          },
          {
            en_name: '5',
            zh_name: '寄送地址',
            elem_type: 'Input',
            elem_valid_type: 'string',
          },
        ],
        searchHandler: () => { // 自定义搜索按钮回调函数，点击搜索时触发
          console.log('search click')
        },
        resetHandler: () => { // 自定义重置按钮回调函数，点击重置时触发
          console.log('reset click')
        },
        searchCallback: params => { // 自定义搜索完成后的后调函数, 搜索完成后触发, 并将本次搜索的参数传入
          console.log('search finish', params)
        },
        pasteTargetList: [  // 列表组件中将输入框的en_name作为默认id(也可以通过id另外设置)
          'carName',  // 将需要粘贴事件拦截的输入框id以数组的形式传入, 该参数对应PasteFromClipboard组件的targetList参数
        ]
      },
      // 数据表格 序号 客户姓名 手机 兑换礼品 兑换数量 使用积分 兑换时间 寄送地址 兑换状态 操作
      "table":
        {
          "status_params": "status=0",
          "status_text": "全部",
          // 表头字段列表
          "scroll": { x: 1200 },
          "fields": [
            {
              "en_name": "key",
              "zh_name": "序号",
              "width": "60",
              render: (a, item, index, d, e, f) => {
                return index+1
              },
            },
            {
              "en_name": "customerCode",
              "zh_name": "客户姓名",
            },
            {
              "en_name": "customerName",
              "zh_name": "手机",
              width:130,
            },
            {
              "en_name": "compainy",
              "zh_name": "兑换礼品",
            },
            {
              "en_name": "city",
              "zh_name": "兑换数量",
            },
            {
              "en_name": "Area",
              "zh_name": "使用积分",
            },
            {
              "en_name": "price",
              "zh_name": "兑换时间",
            },
            {
              "en_name": "property",
              "zh_name": "寄送地址",
            },
            {
              "en_name": "status",
              "zh_name": "兑换状态",
            },
            {
              "en_name": "edit",
              "zh_name": "操作",
              render: (a, item, index, d, e, f) => {
                return (
                    <span>
                        <a onClick={() => {}}>发货</a>{<span className="ant-divider" />}
                        <a onClick={() => {}}>撤销兑换</a>
                    </span>
                )
              },
            },
          ]
        },
      "action_bar":[]
    },
  }


  return (
    <div className={cx('pageLayout')}>
      <ListPage pageProps={pageProps}/>
    </div>
  )
}

// 连接视图(view)和模型(model)
export default connect(mapStateToProps)(Form.create()(RouteView))
